'use strict';
/**
 * author：小小游 --- allen
 * date：2018.02.06
 * lastUpdateDate：2018.02.06
 * description：ES6中对象属性的新写法
 */
var obj = {
    // 传统写法
    // getName : function (name) {
    //     // { getName: [Function: getName] }
    //     // console.log(this);
    //     this.name = name;
    //     return this.name;
    // }
    // ES6的写法
    // getName (name) {
    //     // { getName: [Function: getName] }
    //     // console.log(this);
    //     this.name = name;
    //     return this.name;
    // }

    // 传统的写法
    // get (firstName, lastName) {
    //     return {
    //         /**
    //          * 我只是为了证明key是可以随意，根据调用这个key找到
    //          * 对应的变量或函数，那么在ES6当中规定，如果你的key
    //          * 和value是一样的话，默认只写一个就行了
    //          */
    //          firstName,
    //          lastName
    //     };
    // }

    /**
     * ES6中写赋值和取值函数都比较简单，如下所示：
     */
    _age : 12,
    set age (age) {
        this._age = age;
    },
    get age () {
        return this._age;
    }
};

// result：allen
// console.log(obj.getName('xiaoxiaoyou'));

// result: allen xiaoxiaoyou
// var newNames = obj.get('allen', 'xiaoxiaoyou');
// console.log(newNames);
// console.log(newNames.firstName, newNames.lastName);
obj.age = 28;
console.log(`我今年${obj.age}岁了`);
